You will connect Elementary Cloud to Snowflake for syncing the Elementary schema (created by the [Elementary dbt package](/cloud/onboarding/quickstart-dbt-package)).

<Snippet file="cloud/integrations/create-user-operation.mdx" />

### Fill the connection form

Provide the following fields:

- **Account**: Find your account by using the Snowflake account URL and removing `snowflakecomputing.com`. e.g. `example.us-east-1`. For more information, see [Account Identifiers](https://docs.snowflake.com/en/user-guide/admin-account-identifier.html) in the Snowflake docs.
- **Database name**: The name of the database where your Elementary schema exist. e.g. `analytics`.
- **Warehouse**: e.g. `ELEMENTARY_WAREHOUSE`.
- **Elementary schema**: The name of your Elementary schema. Usually `[schema name]_elementary`.
- **Role (optional)**: e.g. `ELEMENTARY_ROLE`.

Elementary Cloud supports the user password and key pair authentication connection methods.

- **User password**:
  - User: The user created for Elementary.
  - Password: The password you set when creating your Snowflake account.
- **Key pair**:
  - User: The user created for Elementary.
  - Private key: The private key you generated for Elementary. For more information, see [Generate Private Key](https://docs.snowflake.com/en/user-guide/key-pair-auth#configuring-key-pair-authentication) in the Snowflake docs.
  - Private key passphrase (optional)

### Add the Elementary IP to allowlist

If you use network policies to restrict access, run this query on your data warehouse with **admin permissions**:

```sql
CREATE NETWORK POLICY ELEMENTARY_CLOUD
	ALLOWED_IP_LIST=('3.126.156.226')
	BLOCKED_IP_LIST=()
COMMENT='IP used by Elementary Cloud to sync the Elementary schema';
```

After creating a network policy you would need to activate it. To activate a network policy for the elementary user simply run the following command -

```sql
ALTER USER <user_name> SET NETWORK_POLICY = ELEMENTARY_CLOUD;
```
